package sjtu.rfid.rri.services.ale.writing;

import java.io.Serializable;
import java.util.List;

import sjtu.rfid.rri.services.ale.reading.ECTime;
import sjtu.rfid.rri.services.ale.reading.ECTrigger;

public class CCBoundarySpec implements Serializable {
	/**
	 * 
	 */
	private static final long serialVersionUID = -3073352959624445307L;

	private List<ECTrigger> startTriggerList;
	private ECTime repeatPeriod;
	private List<ECTrigger> stopTriggerList;
	private ECTime duration;
	private ECTime noNewTagsInterval;
	private int tagsProcessedCount;
	private boolean afterError;

	/**
	 * @return the startTriggerList
	 */
	public List<ECTrigger> getStartTriggerList() {
		return startTriggerList;
	}

	/**
	 * @param startTriggerList
	 *            the startTriggerList to set
	 */
	public void setStartTriggerList(List<ECTrigger> startTriggerList) {
		this.startTriggerList = startTriggerList;
	}

	/**
	 * @return the repeatPeriod
	 */
	public ECTime getRepeatPeriod() {
		return repeatPeriod;
	}

	/**
	 * @param repeatPeriod
	 *            the repeatPeriod to set
	 */
	public void setRepeatPeriod(ECTime repeatPeriod) {
		this.repeatPeriod = repeatPeriod;
	}

	/**
	 * @return the stopTriggerList
	 */
	public List<ECTrigger> getStopTriggerList() {
		return stopTriggerList;
	}

	/**
	 * @param stopTriggerList
	 *            the stopTriggerList to set
	 */
	public void setStopTriggerList(List<ECTrigger> stopTriggerList) {
		this.stopTriggerList = stopTriggerList;
	}

	/**
	 * @return the duration
	 */
	public ECTime getDuration() {
		return duration;
	}

	/**
	 * @param duration
	 *            the duration to set
	 */
	public void setDuration(ECTime duration) {
		this.duration = duration;
	}

	/**
	 * @return the noNewTagsInterval
	 */
	public ECTime getNoNewTagsInterval() {
		return noNewTagsInterval;
	}

	/**
	 * @param noNewTagsInterval
	 *            the noNewTagsInterval to set
	 */
	public void setNoNewTagsInterval(ECTime noNewTagsInterval) {
		this.noNewTagsInterval = noNewTagsInterval;
	}

	/**
	 * @return the tagsProcessedCount
	 */
	public int getTagsProcessedCount() {
		return tagsProcessedCount;
	}

	/**
	 * @param tagsProcessedCount
	 *            the tagsProcessedCount to set
	 */
	public void setTagsProcessedCount(int tagsProcessedCount) {
		this.tagsProcessedCount = tagsProcessedCount;
	}

	/**
	 * @return the afterError
	 */
	public boolean isAfterError() {
		return afterError;
	}

	/**
	 * @param afterError
	 *            the afterError to set
	 */
	public void setAfterError(boolean afterError) {
		this.afterError = afterError;
	}

}
